/**
 * @param {number[][]} points
 * @return {number}
 */
var findMinArrowShots = function (points) {
    // 按x右边界从小到大排序
    points.sort((a, b) => a[1] - b[1])
    let count = 1, right = points[0][1];
    // 如果下一个气球的左边界比当前的右边界大，则需要多一支箭，更新最新的右边界
    for (let i = 1; i < points.length; i++) {
        if (points[i][0] > right) {
            count++
            right = points[i][1]
        }
    }
    return count
};